package alphas.a2.util;

public interface ILogClientAPI {

	/**
	 * Sends a login log message to the log server
	 * 
	 * @param username the username of the operator that "logged in" into the system
	 * @param password the password of the operator that "logged in" into the system
	 * @return the message corresponding to the success or failure of the operation
	 */
	public String login(String username, String password);

	/**
	 * Sends a logout log message to the log server
	 * 
	 * @param username the username of the operator that "logged out" from the system
	 * @param password the password of the operator that "logged out" from the system
	 * @return the message corresponding to the success or failure of the operation
	 */
	public String logout(String username, String password);

	/**
	 * Sends an order creation log message to the log server
	 * 
	 * @param username the username of the operator that created the order in the system
	 * @param password the password of the operator that created the order in the system
	 * @param orderID the order id corresponding to the order created in the system
	 * @return the message corresponding to the success or failure of the operation
	 */
	public String addOrder(String username, String password, long orderID);

	/**
	 * Sends a "shipping performed" log message to the log server
	 * 
	 * @param orderId the order id corresponding to the shipped order
	 * @return the message corresponding to the success or failure of the operation
	 */
	public String shipped(String username, String password, long orderId);
	
	/**
	 * Closes the connection to the log server
	 */
	public void disconnect();

}
